class Solution {
public:
    void reverseString(string& s, int begin, int end)
    {
        while (begin < end)
        {
            swap(s[begin], s[end]);
            begin++;
            end--;
        }
    }
    string reverseStr(string s, int k) {
        for (int i = 0; i < s.size(); i += 2 * k)
        {
            if (s.size() - i < k)
            {
                reverseString(s, i, s.size() - 1);
                break;
            }
            if (s.size() - i >= k && s.size() - i < 2 * k)
            {
                reverseString(s, i, i + k - 1);
                break;
            }
            reverseString(s, i, i + k - 1);
        }
        return s;
    }
};